Computing resources, including networked computing environments, continue to grow in terms of both the number and type of computing components, as well as the complexity of component arrangements in the computing environments. Various innovations make larger and more powerful computing systems available to increasing numbers of users. Distributed computing services, for example, allow users to utilize computing resources maintained by others without having to make large hardware investments. While the growth in complexity and availability of such computing resources generally proves quite useful for a wide variety of purposes, this growth also introduces additional issues.
Increased complexity in computing resources, in many instances, increases the likelihood of problems arising due to malfunction, software bugs, incorrect configurations, and the like. With distributed computing services operated by a third party, for example, a customer can sometimes utilize the third party's resources in a way that adversely affects others, either maliciously or inadvertently. The customer can, for instance, make a programming error that causes excessive use of bandwidth and, therefore, makes less bandwidth available for use by other customers. In some instances, the customer may intentionally use the third party resources to cause harm to others with viruses, denial of service (DoS) attacks, and the like. Generally, advances in computing technology create many opportunities in all computing environments for problems to arise.